package org.javaopenaccess.service.schema;

import org.javaopenaccess.model.Schema;
import org.javaopenaccess.model.User;

/**
 * Implementations of this interface handels logics, that concern the use of the
 * schema objects. It is transactional.
 * 
 * @author Miku
 * 
 */
public interface SchemaService {
	/**
	 * Creates a schema with the given parameters.
	 * @param name
	 * @param user
	 * @throws SchemaAlreadyExistsException
	 * @throws SchemaException 
	 */
	public Schema createSchema(String name, User user) throws SchemaAlreadyExistsException, SchemaException;
	
	public Schema getSchema(String name) throws SchemaNotFoundException;
}
